package com.ruoyi.crm.domain;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.common.translation.annotation.Translation;
import com.ruoyi.common.translation.constant.TransConstant;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper=true)
@TableName("crm_prospect_info")
@ExcelIgnoreUnannotated
public class BusinessOpportunity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 商机ID，主键
     */
    @TableId
    @ExcelProperty(value = "商机序号")
    private Long prospectId;

    /**
     * 阶段ID
     */
    private Long stageId;

    /**
     * 客户ID
     */
    private Long customerId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 商机产品ID
     */
    private String prospectProductId;

    /**
     * 产品需求ID
     */
    private Long productNeedId;

    /**
     * 项目确认方式ID
     */
    private Long projectApproveId;


    /**
     * 联系人ID
     */
    private Long contactId;

    private String productRequirement;
    /**
     * 审核状态
     */
    @ExcelProperty(value = "审核状态")
    private String reviewStatus;

    /**
     * 商机名称
     */
    @ExcelProperty(value = "商机名称")
    private String prospectName;


    /**
     * 产品详细
     */
    @ExcelProperty("产品详细")
    private String productDetails;

    /**
     * 价格
     */
    @ExcelProperty(value = "价格")
    private Double price;

    /**
     * 招聘价格
     */
    @ExcelProperty(value = "招聘价格")
    private Double recruitPrice;

    /**
     * 商机状态
     */
    private String opportunityStatus;

    /**
     * 变更状态
     */
    private String changeStatus;

//    @Translation(type = TransConstant.DICT_TYPE_TO_LABEL,mapper = "changeStatus",other = "crm_change_status")
//     private String changeStatusName;

    /**
     * 小节点
     */
    private String smallNode;

    /**
     * 节点内容
     */
    private String nodeContent;

    /**
     * 下次联系时间
     */
    @ExcelProperty(value = "下次联系时间")
    private Date nextTime;

    /**
     * 预计成交时间
     */
    @ExcelProperty(value = "预计成交时间")
    private Date estimatedTime;

    /**
     * 预计完成时间
     */
    private Date overTime;

    /**
     * 文件上传地址
     */
    private String url;

    /**
     * 文件原名
     */
    private String originalName;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;
}
